import { UploadFile } from 'element-plus/es/components/upload/src/upload';
export interface IUploadConfig {
  disabled?: boolean;
  id?: string;
  action?: string;
  headers?: any;
  method?: string;
  width?: number;
  name?: string;
  data?: any;
  type?: string;
  isAutoUpload?: boolean;
  accept?: string;
  isNeedClearError?: boolean;
  isCustomUpload?: boolean;
  onAddItem?: (file: UploadFile, list: UploadFile[], msg?: any, upload?: any) => boolean;
  onAddItemSuccess?: (file: UploadFile) => void;
  onError?: (error: any, file: UploadFile, list: UploadFile[]) => void;
  onSuccess?: (response: any, file: UploadFile, list: UploadFile[]) => void;
  onBeforeUpload?: (file: UploadFile) => void;
  onPreview?: (file: UploadFile) => void;
  onRemove?: (file: UploadFile, list: UploadFile[]) => void;
  onProgress?: (event: any, file: UploadFile, list: UploadFile[]) => void;
  onBeforeRemove?: (file: UploadFile, list: UploadFile[]) => void;
  [propName: string]: any;
}
export interface IButton {
  label?: string;
  id?: string;
  hide?: boolean;
}

export interface IDialogConfig {
  title: string;
  content: string | string[];
  id?: string;
  size?: string;
  width?: string;
  type?: string;
  modalClass?: string;
  alignItems?: string;
  closeIcon?: boolean;
  closeOnEsc?: boolean;
  closeOnClickModal?: boolean;
  backDrop?: boolean;
  okButton?: IButton;
  cancelButton?: IButton;
  saveButton?: IButton;
}
